package elicecn.util;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日历工具
 * 
 * @author 屹砾
 * @email eli.wuhan@gmail.com
 * @time 2009-1-20
 */
public class CalendarUtils {
	/**
	 * 生成日期字符串，格式为yyMMdd
	 * 
	 * @return 日期字符串
	 */
	public static String fetchShortDate() {
		return fetchShortDate(new Date());
	}

	/**
	 * 生成日期字符串，格式为yyMMdd
	 * 
	 * @return 日期字符串
	 */
	public static String fetchShortDate(Date date) {
		return fetchDateTimeByPattern("yyMMdd", date);
	}

	/**
	 * 生成日期字符串，格式为yyyyMMdd
	 * 
	 * @return 日期字符串
	 */
	public static String fetchDate() {
		return fetchDate(new Date());
	}

	/**
	 * 生成日期字符串，格式为yyyyMMdd
	 * 
	 * @return 日期字符串
	 */
	public static String fetchDate(Date date) {
		return fetchDateTimeByPattern("yyyyMMdd", date);
	}

	/**
	 * 生成日期字符串，格式为hhmmss
	 * 
	 * @return 日期字符串
	 */
	public static String fetchTime() {
		return fetchTime(new Date());
	}

	/**
	 * 生成日期字符串，格式为hhmmss
	 * 
	 * @return 日期字符串
	 */
	public static String fetchTime(Date date) {
		return fetchDateTimeByPattern("hhmmss", date);
	}

	/**
	 * 生成日期字符串，格式为yyMMddhhmmss
	 * 
	 * @return 日期字符串
	 */
	public static String fetchShortDateTime() {
		return fetchShortDateTime(new Date());
	}

	/**
	 * 生成日期字符串，格式为yyMMddhhmmss
	 * 
	 * @return 日期字符串
	 */
	public static String fetchShortDateTime(Date date) {
		return fetchDateTimeByPattern("yyMMddhhmmss", date);
	}

	/**
	 * 生成日期字符串，格式为yyyyMMddhhmmss
	 * 
	 * @return 日期字符串
	 */
	public static String fetchDateTime() {
		return fetchDateTime(new Date());
	}

	/**
	 * 生成日期字符串，格式为yyyyMMddhhmmss
	 * 
	 * @param date
	 *            日期
	 * @return 日期字符串
	 */
	public static String fetchDateTime(Date date) {
		return fetchDateTimeByPattern("yyyyMMddhhmmss", date);
	}

	/**
	 * 根据指定的模式和日期生成日期字符串
	 * 
	 * @param pattern
	 *            模式
	 * @param date
	 *            日期
	 * @return 日期字符串
	 */
	public static String fetchDateTimeByPattern(String pattern, Date date) {
		DateFormat df = new SimpleDateFormat(pattern);
		return df.format(date);
	}
}
